export default function updateNodeElement(newElement, virtualDOM) {
  // 获取节点上的属性
  const newProps = virtualDOM.props
  Object.keys(newProps).forEach(propName => {
    // 获取属性值
    const propValue = newProps[propName]
    // 判断是否是事件属性 react的事件属性名都是以on开头的
    // 所以截取属性的前两个字符，判断是否是on开头
    if (propName.slice(0, 2) === 'on') {
      // js中给元素添加事件监听，监听事件的名字都是小写的，比如：click事件，所以要将类似onClick-->click
      // 获取事件名
      const eventName = propName.slice(2).toLocaleLowerCase()
      newElement.addEventListener(eventName, propValue)
    } else if (propName === 'value' || propName === 'checked') {
      newElement[propName] = propValue
    } else if (propName !== 'children') {
      // className --- 设置节点的class
      if (propName === "className") {
        newElement.setAttribute('class', propValue)
      } else {
        newElement.setAttribute(propName, propValue)
      }
    }
  })
}